// #include <reg51.h>

// void delay(unsigned int a)
// {
//     unsigned char i, j;
//     while (a--)
//     {
//         for (i = 0; i < 255; i++)
//         {
//             for (j = 0; j < 255; j++){}
//         }   
//     }    
// }

// static unsigned char num[10] = {0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xd8, 0x80, 0x90};

// void main()
// {
//     unsigned char i;
//     while (1)
//     {
//         P0 = 0x00;
//         delay(5);
//         P0 = 0xfe;
//         delay(5);
//         for (i = 0; i < 7; i++)
//         {
//             P0 <<= 1;
//             P0 |= 0x01;
//             delay(5);
//         }
//         P0 = 0xff;
//         delay(5);
//         for (i = 0; i < 10; i++)
//         {
//             P0 = num[i];
//             delay(5);
//         }
//         P0 = 0xff;
//         delay(5);
//     }
// }

#include<reg51.h>

sbit Latch_Enable = P2^0;

void delay(unsigned int a)
{
    unsigned char i, j;
    while (a--)
    {
        for (i = 0; i < 255; i++)
        {
            for(j = 0;j < 255; j++){}
        }
        
    } 
}

static unsigned char num[16] = {0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xd8, 0x80, 0x90, 0x88, 0x83, 0xc6, 0xa1, 0x86, 0x8e};

void main()
{
    unsigned int i;
    while (1)
    {
        for (i = 0; i < 16; i++)
        {
            P0 = num[i];
            Latch_Enable = 1;
            Latch_Enable = 0;
            delay(3);
        }
        P0 = 0xff;
        Latch_Enable = 1;
        Latch_Enable = 0;
        delay(3);
    }
    
}